<HTML
><HEAD
><TITLE
>Developer's Guide</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="phpBugTracker"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Configuration Options"
HREF="configuration.html"><LINK
REL="NEXT"
TITLE="Development Standards"
HREF="devstandards.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="docs.css"></HEAD
><BODY
CLASS="CHAPTER"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#800080"
ALINK="#FF0000"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>phpBugTracker</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="configuration.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="devstandards.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="DEVGUIDE">Chapter 3. Developer's Guide</H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>3.1. <A
HREF="devguide.html#MANIFEST"
>What's where?</A
></DT
><DT
>3.2. <A
HREF="devstandards.html"
>Development Standards</A
></DT
><DD
><DL
><DT
>3.2.1. <A
HREF="devstandards.html#DEVSTANDARDS-CODE"
>Coding Standards</A
></DT
><DT
>3.2.2. <A
HREF="devstandards.html#OTHERCONVENTIONS"
>Other Conventions</A
></DT
></DL
></DD
><DT
>3.3. <A
HREF="schema.html"
>Database Schema</A
></DT
></DL
></DIV
><BLOCKQUOTE
CLASS="ABSTRACT"
><DIV
CLASS="ABSTRACT"
><A
NAME="AEN282"><P
>Adding on to or extending phpBugTracker should be easy for those with a knowledge of PHP and SQL.  New developers are always welcome to join the project at <A
HREF="http://www.sourceforge.net/projects/phpbt/"
TARGET="_top"
>http://www.sourceforge.net/projects/phpbt</A
>, or to simply submit patches, bug reports, or feature requests.</P
></DIV
></BLOCKQUOTE
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="MANIFEST">3.1. What's where?</H1
><P
>Following is a list of the PHP files that make up phpBugTracker and the functionality contained within them:</P
><UL
><LI
><P
><TT
CLASS="FILENAME"
>attachment.php</TT
></P
><P
>Adding, deleting, and viewing attachment information.</P
></LI
><LI
><P
><TT
CLASS="FILENAME"
>bug.php</TT
></P
><P
>Adding, displaying, and editing bugs.  This includes the detailed view of a bug, printable view, bug history, a view of the votes for a bug, and the code that emails users about bug changes.</P
></LI
><LI
><P
><TT
CLASS="FILENAME"
>config-dist.php</TT
></P
><P
>This file is used as a template for generating the configuration file during installation.</P
></LI
><LI
><P
><TT
CLASS="FILENAME"
>config.php</TT
></P
><P
>This file is empty in the distribution package.  When phpBugTracker has been installed this is the main configuration file that contains the table name definitions and includes the required packages.</P
></LI
><LI
><P
><TT
CLASS="FILENAME"
>include.php</TT
></P
><P
>This file is included by every other script at page load, and contains page set-up such as creating the database connection, initializing the template object, and doing authentication checks.</P
></LI
><LI
><P
><TT
CLASS="FILENAME"
>install.php</TT
></P
><P
>This file is used during the installation process to gather configuration information from the user and to set up the database.</P
></LI
><LI
><P
><TT
CLASS="FILENAME"
>logout.php</TT
></P
><P
>This is used to end the user's session.</P
></LI
><LI
><P
><TT
CLASS="FILENAME"
>newaccount.php</TT
></P
><P
>The code for creating new accounts and emailing accout information to new sers is located here.</P
></LI
><LI
><P
><TT
CLASS="FILENAME"
>query.php</TT
></P
><P
>The bug search form is rendered and handled by this script, along with the resulting list of bugs from a query.</P
></LI
><LI
><P
><TT
CLASS="FILENAME"
>report.php</TT
></P
><P
>Various summary reports.</P
></LI
><LI
><P
><TT
CLASS="FILENAME"
>upgrade.php</TT
></P
><P
>Used when upgrading to a new verison of phpBugTracker.  This file is changed with every release to include (mainly) the database queries required to upgrade the installation to the latest version.</P
></LI
><LI
><P
><TT
CLASS="FILENAME"
>user.php</TT
></P
><P
>User preferences and password changes are handled via this script.</P
></LI
><LI
><P
><TT
CLASS="FILENAME"
>admin/*.php</TT
></P
><P
>Each of these files handles a segment of the adminsitration.  That is, <TT
CLASS="FILENAME"
>group.php</TT
> handles all the group adminstration, <TT
CLASS="FILENAME"
>project.php</TT
> is used for the project administration, etc.</P
></LI
><LI
><P
><TT
CLASS="FILENAME"
>inc/auth.php</TT
></P
><P
>Authentication class.</P
></LI
><LI
><P
><TT
CLASS="FILENAME"
>inc/functions.php</TT
></P
><P
>Supporting functions such as <TT
CLASS="FUNCTION"
>build_select()</TT
>, etc.</P
></LI
><LI
><P
><TT
CLASS="FILENAME"
>inc/db/*.php</TT
></P
><P
>These files, named by database type, contain queries (such as left joins) that have different syntaxes among various database types.</P
></LI
><LI
><P
><TT
CLASS="FILENAME"
>languages/*.php</TT
></P
><P
>Named by language code, these files contain the localization of the text used throughout phpBugTracker.</P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="configuration.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="devstandards.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Configuration Options</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Development Standards</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>